/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package convertirafndafd;

import java.util.ArrayList;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;







public class ModeloTablaAFND {
        private ArrayList<String> columnasNombreAlfabeto;
        private ArrayList<String> estados;
        private JTable table;
        private DefaultTableModel modelo;

    public ModeloTablaAFND() {
    }

//        private ArrayList<String> [][]arreglo;

        public ModeloTablaAFND(ArrayList<String> alfabeto, JTable t,ArrayList<String> e) {
            this.table=t;
            this.columnasNombreAlfabeto=alfabeto;
             this.estados=e;

        //no editar la tabla
        modelo= new DefaultTableModel() {
        @Override
        public boolean isCellEditable(int fila, int columna) {
       return false; //Con esto conseguimos que la tabla no se pueda editar
        }};

        table = new JTable(modelo); //Metemos el modelo dentro de la tabla
    }
    public DefaultTableModel añadirColumnasFilas(){
        //anadimos columnas
        modelo.addColumn("Estados");
        for (int x=0;x<columnasNombreAlfabeto.size();x++) {
            modelo.addColumn(columnasNombreAlfabeto.get(x));
        }
        //añadimosFilas
        int cont=0;// sirve para ubicar los estados siempre en la columna 1
        for (int x=0;x<estados.size();x++) {
               Object[] fila = new Object[columnasNombreAlfabeto.size()+1];
               fila[cont]=estados.get(x);
               modelo.addRow(fila);

        }

     
        return modelo;
    }

    public DefaultTableModel rellenarTabla(int fil, int col,ArrayList<String> cad) {
                  
                  modelo.setValueAt(cad, fil, col+1);//objeto fila columna
                  table.updateUI();
        return modelo;
    }

    public DefaultTableModel rellenarTabla(int fil, int col,String cad) {

                  modelo.setValueAt(cad, fil, col+1);//objeto fila columna
                  table.updateUI();
        return modelo;
    }

}

    





